package CapaPersistencia;



import CapaDatos.Restaurante;
import java.util.ArrayList;

/**
 * Clase controladora para el dominio de Restaurante
 *
 */
public class ControladorRestaurante {

    /** atributo para el manejo de la persistencia de cliente*/
    private IDAORestaurante manejadorPersistencia = new DAORestauranteXML();

    /**
     * firma para registrar un nuevo cliente en el sistema
     * @param ID cedula del cliente
     * @param nombre nombre del cliente
     * @param apellido apellido del cliente
     * @param Fecha fecha de nacimiento del cliente
     * @return valor booleano con la condicion de exito
     */
    public boolean nuevoRestaurante(String ID, String ubicacion, int capComensales, String comidas)
         {
        boolean resultado = false;
        Restaurante newRestaurant = new Restaurante();
        newRestaurant.setID(ID);
        newRestaurant.setUbicacion(ubicacion);
        newRestaurant.setCapComensales(capComensales);
        newRestaurant.setComidas(comidas);
        resultado = manejadorPersistencia.agregarRestaurante(newRestaurant);
        return resultado;
    }

    /**
     *  firma para actualizar un cliente en el sistema
     * @param ID cedula del cliente
     * @param nombre nombre del cliente
     * @param apellido apellido del cliente
     * @param Fecha fecha de nacimiento del cliente
     * @return valor booleano con la condicion de exito
     */
    public boolean actualizarRestaurante(String ID, String ubicacion, int capComensales, String comidas)
            {
        boolean resultado = false;
        Restaurante restaurantAct = new Restaurante();
        restaurantAct.setID(ID);
        restaurantAct.setUbicacion(ubicacion);
        restaurantAct.setCapComensales(capComensales);
        restaurantAct.setComidas(comidas);
        resultado = manejadorPersistencia.actualizarRestaurante(restaurantAct);
        return resultado;
    }

    /**
     * firma para eliminar un cliente del sistema
     * @param ID cedula del cliente a eliminar
     * @return valor booleano con la condicion de exito
     */
    public boolean eliminarRestaurante(String ID) {
        boolean resultado = false;
        String IDEliminar = ID;
        resultado = manejadorPersistencia.borrarRestaurante(IDEliminar);
        return resultado;
    }

    /**
     * firma para buscar un cliente en el sistema
     * @param ID cedula del cliente a buscar
     * @return objeto cliente con los datos
     */
    public Restaurante buscarRestaurante(String ID) {
        Restaurante resultado = new Restaurante();
        String idBuscar = ID;
        resultado = manejadorPersistencia.buscarRestaurante(idBuscar);
        return resultado;
    }

    /**
     * Firma para obtener todos los clientes del sistema
     * @return ArrayList con todos los clientes del sistema
     */
    public ArrayList<Restaurante> todosLosRestaurantes() {
        return this.manejadorPersistencia.todosLosRestaurantes();
    }
}
